|
Linuxはマルチユーザーでの利用を前提としに開発されたOSです。
全般的なシステム設定ファイル以外に、個々のユーザー環境に関する設定ファイルがあり、各ユーザーの利用環境を個別に整備出来ます。
◆ シェルって、一体・・・ ◆
シェルは、ユーザ゛ーからのコマンドを解釈し、それをシステムに渡して実行させるプログラムです。
シェルには様々なものがあり、大きく分けると2系統あります。
Bourneシェルと呼ばれる/bin/sh系統の流れをくむものと、Cシェルと呼ばれる/bin/csh系統のものです。
shとcshには、シェルスクリプト書式など細かい相違が多数あり、互換性はありません。
Linuxではデフォルトのシェルとして、shを拡張したbash(Bourne-Again SHellの略)が採用されていることが多いです。
◆ 代表的なシェル ◆
| 名称 |
系統 |
特徴 |
| ash |
sh |
Bourneシェル互換の小さいサイズシェル |
| ksh |
sh |
SystemVでの標準シェル |
| bash |
sh |
Bourneシェルコマンドライン編集機能を加えたもの |
| zsh |
sh |
ksh+tcshの形で開発されたもの。/sh/csh/tcsh/bashの機能をほぼ全て持つ |
| newcsh |
csh |
cshに対話的編集機能を追加したもの |
| tcsh |
csh |
cshにファイル名補完、コマンドライン編集機能などを追加したもの |
◆ シェルを変更してみる ◆
自分のログインしているシェルがなんであるかは、
$echo
$SHELL
で、確認できます。
これで、
/bin/bash
と、表示されていれば、bashシェルを使用していることになります。
シェルの変更で最も簡単な方法は、コマンドラインから別なシェルを起動する事です。
例えば、bashシェルからtcshに切り替えたいときは、
$tcsh
と、入力します。
このように、コマンドラインから切り替えをすることが出来ますが、ログインシェルを変更したわけではないので、再ログイン時には、元のシェルが起動シェルとなります。
◆ ログインシェルを探る ◆
各ユーザーがログインした際にどのシェルが実行されるかは、
/etc/passwd
で設定されています。
このファイルを変更するには、root権限が必要です。
たとえば、ora817ユーザーの設定値を確認するには、rootでログイン後
root@wolf
/root]# more /etc/passwd | grep
ora817
ora817:x:501:501::/home/ora817:/bin/bash
と、実行すればOK!!
この情報は、
ログイン名:パスワード:ユーザーID:グループID:ユーザー名かコメント:ホームディレクトリ:ログインシェル
で表されています。
ここでは、/bin/bashと記述されているので、$echo
$SHELL と、入力すると該当情報が
表示されたのが分かりますね。
◆ 使用できるシェルの確認は? ◆
さて、自分が使用したいシェルが使用できるか/出来ないかは、そのマシンにシェルが適切にインストールされているかどうかで決まります。
自分が使用したいシェルが既にインストールされているかを確認してみましょう。
$chsh
-l
と、入力してみてください。
このコマンドでは、設定済みのシェルがそれぞれ表示されます。
実は、この情報は、
/etc/shells
ファイルに登録されている情報なのです。
新規にシェルをインストールした場合、該当ファイルに記述することを忘れないでください。
|